package com.trf.config;

import org.springframework.util.StringUtils;
import org.springframework.web.servlet.LocaleResolver;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.Locale;

/**
 * @author 唐荣锋
 * @Date 2022/3/17-星期四-22:27
 */
public class MyLocaleResolver implements LocaleResolver {

    //解析请求
    @Override
    public Locale resolveLocale(HttpServletRequest request) {
        //获取请求中的语言参数
        String language = request.getParameter("l");

//   测试使用     System.out.println("Debug==="+language);
        //如果没有就使用默认参数
        Locale locale = Locale.getDefault();
        if (!StringUtils.isEmpty(language)){
            //zh_CN
            String[] split = language.split("_");

            //国家，地区
            locale = new Locale(split[0], split[1]);
        }

        //国际化注意点：
        //1、html首页配置，所有静态资源页面都需要使用thymeleaf接管：url/src/href @{} th:
        //2、我们需要配置i18n文件，项目中按钮事件实现语言切换，需要自定义一个组件LocaleResolver
        //3、将自己写的组件配置到spring容器 @Bean #{}
        return locale;
    }

    @Override
    public void setLocale(HttpServletRequest request, HttpServletResponse response, Locale locale) {

    }
}
